package ru.myrtle.jst.ast;

/**
 * A visitor for a AST tree. This implementation provides 'do nothing' actions
 * for each visit method. Subclasses need override only the visit methods required.
 */
public abstract class Visitor<ContextType> {

    public boolean visit(Unit unit, ContextType context) {
        return true;
    }

    public boolean visit(Declaration declaration, ContextType context) {
        return true;
    }

    public boolean visit(Include include, ContextType context) {
        return true;
    }

    public boolean visit(Invoke invoke, ContextType context) {
        return true;
    }

    public boolean visit(Expression expression, ContextType context) {
        return true;
    }

    public boolean visit(Scriptlet scriptlet, ContextType context) {
        return true;
    }

    public boolean visit(Text text, ContextType context) {
        return true;
    }

    public boolean visit(Comment comment, ContextType context) {
        return true;
    }
}
